<?php
class Admin_Form_TheChinhForm extends Zend_Form{
	public function __construct($user_id = null){
		parent::__construct($user_id);
		
		$this->setName('thechinh');
		
		$hovaten = new Zend_Form_Element_Text('hovaten');
		$hovaten->setLabel('Họ và tên: * ')
						->setRequired(true)
						->addValidator('NotEmpty',true);
		$hovaten->getValidator('NotEmpty')->setMessage('Họ và tên không được bỏ trống!');
		/* if($user_id == null){
			$hovaten->addValidator('Db_NoRecordExists',true, array(
					'table' => 'tbl_khachhang',
					'field' => 'HoVaTen'
			));
		} else {
			$hovaten->addValidator('Db_NoRecordExists',true, array(
					'table' => 'tbl_thechinh',
					'field' => 'HoVaTen',
					'exclude' => array(
							'field' => 'MaThe',
							'value' => $user_id)
			));
		} */
		
		$ngaysinh = new Zend_Form_Element_Text('ngaysinh');
		$ngaysinh->setLabel('Ngày sinh: *')
						->setRequired(true)
						->addValidator('NotEmpty', true)
						->addValidator('Date', true, array('format' => 'yyyy-MM-dd'));
		$ngaysinh->getValidator('NotEmpty')->setMessage('Ngay sinh ko duoc bo trong');
		$ngaysinh->getValidator('Date')->setMessage('Ngày sinh không đúng định dạng');
		$cmnd = new Zend_Form_Element_Text('cmnd');
		$cmnd->setLabel('Số CMND: *')
					->setRequired(true)
					->addValidator('NotEmpty',true)
					->addValidator('Digits',true)
					->addValidator('StringLength',true,array(10,11));
		$cmnd->getValidator('NotEmpty')->setMessage('Số CMND không được bỏ trống!');
		
		$ngaycap = new Zend_Form_Element_Text('ngaycap');
		$ngaycap->setLabel('Ngày cấp: *')
						->setRequired(true)
						->addValidator('Date', true, array('format' => 'yyyy-MM-dd'));
						
		$noicap = new Zend_Form_Element_Text('noicap');
		$noicap->setLabel('Nơi cấp: * ')
					->setRequired(true)
					->addValidator('NotEmpty',true);
		$noicap->getValidator('NotEmpty')->setMessage('Nơi cấp không được bỏ trống!');
		
		$diachithuongtru = new Zend_Form_Element_Text('diachithuongtru');
		$diachithuongtru->setLabel('Địa chỉ thường trú: * ')
						->setRequired(true)
						->addValidator('NotEmpty',true);
		$diachithuongtru->getValidator('NotEmpty')->setMessage('Địa chỉ thường trú không được bỏ trống!');
		
		$diachilienlac = new Zend_Form_Element_Text('diachilienlac');
		$diachilienlac->setLabel('Địa chỉ liên lạc: ')
						->setRequired(true)
						->addValidator('NotEmpty',true);
		$diachilienlac->getValidator('NotEmpty')->setMessage('Địa chỉ liên lạc không được bỏ trống!');
		
		$dienthoai = new Zend_Form_Element_Text('dienthoai');
		$dienthoai->setLabel('Số điện thoại: *')
						->setRequired(true)
						->addValidator('NotEmpty',true)
						->addValidator('Digits',true)
						->addValidator('StringLength',true,array(10,11));
		$dienthoai->getValidator('Digits')->setMessage('Số điện thoại phải là kiểu số!');
		$dienthoai->getValidator('NotEmpty')->setMessage('Số điện thoại không được bỏ trống!');
		
		$machinhanh = new Zend_Form_Element_Select('machinhanh');
		$machinhanh->setLabel('Nơi nhận thẻ: ')
		->setRequired(true);
		$chinhanhMapper = Library_Model_ChiNhanhMapper::getInstance();
		$chinhanhs = $chinhanhMapper->chinhanhList();
		foreach($chinhanhs as $chinhanh)
		{
			$machinhanh->addMultiOptions(array(
					$chinhanh->getId() => $chinhanh->getTenchinhanh()
			));
		}
		
		$tencoquan = new Zend_Form_Element_Text('tencoquan');
		$tencoquan->setLabel('Tên cơ quan: ')
						->setRequired(false)
						->addValidator('NotEmpty',false);
		$tencoquan->getValidator('NotEmpty')->setMessage('Tên cơ quan không được bỏ trống!');
		
		$dienthoaicoquan = new Zend_Form_Element_Text('dienthoaicoquan');
		$dienthoaicoquan->setLabel('Số điện thoại cơ quan:')
						->setRequired(false)
						->addValidator('NotEmpty',false)
						->addValidator('Digits',false)
						->addValidator('StringLength',true,array(10,11));
		$dienthoaicoquan->getValidator('Digits')->setMessage('Số điện thoại phải là kiểu số!');
		$dienthoaicoquan->getValidator('NotEmpty')->setMessage('Số điện thoại cơ quan không được bỏ trống!');
		
		$diachicoquan = new Zend_Form_Element_Text('diachicoquan');
		$diachicoquan->setLabel('Địa chỉ cơ quan: ')
						->setRequired(false)
						->addValidator('NotEmpty',false);
		$diachicoquan->getValidator('NotEmpty')->setMessage('Địa chỉ cơ quan không được bỏ trống!');
		
		$this->addElements(array($hovaten, $ngaysinh, $cmnd, $ngaycap, $noicap,
													 $diachithuongtru, $diachilienlac,$dienthoai, $machinhanh, $tencoquan,
														$dienthoaicoquan, $diachicoquan));
	}
}